package com.pic.mgt;

import org.springframework.beans.BeansException;

import com.pic.mgt.action.ShutdownSystemAction;

/**
 * 當 JVM 要被結束前，會呼叫此執行緒，用來告知 JVM 即將要結束，
 * 因此可以在此做一些系統結束前的處理或收尾動作。
 * @author p10118178
 *
 */
public class JvmShutdownHookHandler extends Thread {
	@Override
	public void run() {
		if (null != Launcher.applicationContext) {
			try {
				ShutdownSystemAction shutdownSystemAction =
					Launcher.applicationContext.getBean("shutdownSystemActionImpl",
													    ShutdownSystemAction.class);
				shutdownSystemAction.shutdownSystem();
			} catch (BeansException e) {}
		}
		
		
		// 此執行緒結束後，JVM 即會自動結束。
	}
}
